package com.yanqu.road.server.manger.union.listener;

import com.yanqu.road.entity.enums.eUnionSyncType;
import com.yanqu.road.entity.union.cross.CrossUnionInfo;
import com.yanqu.road.entity.union.cross.CrossUnionMember;
import com.yanqu.road.server.GameServer;
import com.yanqu.road.server.manger.ICrossUnionSyncListener;
import com.yanqu.road.server.manger.union.unionchange.UnionYRankAction;

import java.util.List;

public class UnionYRankListener implements ICrossUnionSyncListener {

    @Override
    public void notifySync(int syncType, long playerId, CrossUnionInfo unionInfo, List<CrossUnionMember> memberList) {
        if (unionInfo.getServerId() != GameServer.getInstance().getServerId()) {
            return;
        }

        if (syncType == eUnionSyncType.CreateUnion.getValue()
                || syncType == eUnionSyncType.JoinUnion.getValue()
                || syncType == eUnionSyncType.BeKick.getValue()
                || syncType == eUnionSyncType.QuitUnion.getValue()
                || syncType == eUnionSyncType.DeleteUnion.getValue()
                || syncType == eUnionSyncType.SetPosition.getValue()) {
            UnionYRankAction.refreshUnionRank(unionInfo.getUnionUid());
        }
    }

}
